The present invention relates generally to computers. More specifically, the present invention relates to network management of computers.
Network management typically includes monitoring and controlling resources in computers, resources used in connection with computers, and resources used for communication between computers. The resources might include computer components (e.g., storage devices, processors, printers), computer software (e.g., operating systems, application software, data communication software), connectivity and interconnection components (e.g., routers, modems), and physical media and connections (e.g., network adapter cards). Typical goals of network management include reducing system and network down time, increasing response time to network problems, reducing network bottlenecks, and reducing network operational costs.
However, software for performing the network management can be expensive to purchase and maintain. For a centralized network management architecture, the network management software includes a network manager program, which instructs a network manager to remotely access and monitor the resources, build and maintain a management information base (a collection of objects that represent the resources and provide information about the resources), and make information about the resources accessible to human network administrators. The network management software also includes agents, which allow the network manager to remotely monitor and control the resources on the network. The agents respond to requests for information from the network manager, respond to requests for actions from the network manager, and provide unsolicited information to the network manager.
The agents give rise to another cost of performing network management: the use of precious computational resources. Managed computers, for example, run the agents. Yet when a managed computer runs the agent, its host processor is being burdened, and overhead is being added to its operating system.
There are other costs associated with network management. For instance, a managed computer could use more than one physical interface to the network. A first network card typically provides an interface for a LAN controller or other type of network controller, and a second network card typically provides an additional interface for the network management. The additional interface adds to the cost of each computer on the network and, therefore, adds to the overall cost of implementing the network management system.
Moreover, certain operational costs are typically not addressed by network management systems. One such network operational cost is the cost of leaving a computer on while it is not being used. In many workplaces, networked computers are left on after business hours. The computers are also left on during lunch breaks, business meetings and other activities. An employee might take a vacation, but his computer might be left on. Even though a computer is not being used, it is still consuming power. Therefore, electricity and money are being wasted.
Additionally, most network systems do not perform certain types of maintenance and diagnostics that could further lower the operational costs. Take an example in which the operating system of a managed computer crashes. If the operating system crashes, the computer cannot run its agent. Therefore, the agent cannot take images of memory and diagnose the cause of the crash. Consequently, the network manager and system administrator cannot gather information about that computer and determine why it crashed. Making such information available could lower the cost of servicing the computer.
Take another example in which the BIOS of the managed computer must be upgraded. The typical network management system does not automatically perform such a firmware upgrade. Instead, a computer technician is called in. This technical support is not provided for free. In fact, it can be rather expensive.
There is a need to lower the operational costs of network management. There is also a need to lower the cost of implementing the network management.
The present invention can be regarded as a network controller for a device including a host processor. The network controller includes a media access controller for accepting packets having first and second unique addresses, and a buffer for temporarily buffering the packets accepted by the media access controller. The network controller further includes a host interface and a dedicated processor. The dedicated processor is programmable to function as a web server. The dedicated processor is also programmable to determine the destination addresses of packets in the buffer, route the packets having the first destination address to the dedicated processor, and route the packets having the second destination address to the host interface. Thus, the network controller uses only a single physical interface for receiving packets addressed to the host processor and the dedicated processor.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.